I. Field of the Invention
The invention relates to predictive coding and decoding and particularly, but not exclusively, to an interframe video coding system employing transform coding.
II. Prior Art and Other Considerations
In a predictive encoding scheme, the receiver constructs a prediction of what the present value of a signal will be based upon its past values. Such schemes therefore generally employ a delay or store stage termed a predictor, which supplies past signal values (possibly weighted) to form a prediction of present signal values.
At the transmitter, a similar prediction is performed, and the difference between the predicted signal values and the actual signal values is encoded and transmitted as a difference signal to the receiver where it is added to the prediction to reconstitute an approximation of the actual signal.
Such systems may be analogue or digital; an example of a digital system is a digital video encoding system.
Video data is highly redundant, and it is therefore known to transmit video data employing an interframe predictor, which may also compensate for motion between frames. At the transmitter end of such a system, the difference signal values may be coded, in blocks of, for example, 8.times.8 picture elements (pixels), employing a spatial transform, and at the receiver the inverse transform is applied to decode the difference signal.
A commonly used transform is the Discrete Cosine Transform. The mathematical operations needed to perform it cannot be expressed exactly with a finite number of bits. Therefore practical implementations with different internal computing architectures produced, for example, by different manufacturers, can give slightly different results.
An inverse transform stage is located in both the coder and decoder. If these two do not produce exactly the same difference signal values at their outputs then the predictions at the encoder and decoder begin to diverge, and the resulting error becomes visible on the decoded picture.
This problem is tackled by specifying the maximum allowable error with respect to a (notional) very accurate version of the inverse transform.
Tests indicate that the two mean error parameters (the mean error on any pixel, and the mean error overall) are very important as they reflect bias, the presence of which results in a cumulatively increasing divergence between the pictures at the coder and decoder. The overall mean error thus becomes visible, as a steadily increasing or decreasing brightness of a picture block over many frames, or as an increasing colour cast.
Analogous problems occur in coding systems for other types of data (e.g. speech).